Dify APIによる開発
概要
Difyは「BaaS」APIを提供し、AIアプリケーション開発者に数多くのメリットをもたらします。このアプローチにより、開発者はバックエンドアーキテクチャやデプロイメントプロセスの複雑さを気にすることなく、フロントエンドアプリケーションで大規模言語モデル(LLM)の強力な機能に直接アクセスできます。 Dify APIを使用するメリット
バックエンド開発なしでフロントエンドアプリからLLM機能に安全にアクセスできます。
すべてのクライアントにリアルタイム更新を提供する視覚的なアプリケーション設計が可能になります。
元のLLM APIがしっかりとカプセル化されています。
LLMプロバイダー間の切り替えが簡単で、APIキーを一元管理できます。
ログ分析、注釈、ユーザーアクティビティの観察など、アプリケーションを視覚的に操作できます。
継続的により多くのツール、プラグイン、知識を提供します。
使用方法
アプリケーションを選択し、「アプリ」セクションの左側にあるナビゲーションで「APIアクセス」を見つけます。このページでは、Difyが提供するAPIドキュメントを表示し、APIにアクセスするための認証情報を管理できます。
複数のアクセス認証情報を作成: アプリケーションごとに複数のアクセス認証情報を作成し、異なるユーザーや開発者に提供できます。これは、APIユーザーがアプリケーション開発者が提供するAI機能を使用できることを意味しますが、基礎となるプロンプトエンジニアリング、知識、ツール機能はカプセル化されています。
ベストプラクティス: APIキーは、フロントエンドコードやリクエスト内で平文で直接公開されるのではなく、バックエンドを介して呼び出す必要があります。これは、アプリケーションが悪用されたり攻撃されたりするのを防ぐのに役立ちます。
例: コンサルティング会社の開発者であれば、自社のプライベートデータベースに基づくAI機能をエンドユーザーや開発者に提供することができ、データやAIロジック設計を公開する必要はありません。これにより、ビジネス目標を満たす安全で持続可能なサービス提供が保証されます。
テキスト生成アプリケーション
これらのアプリケーションは、completion-messages APIを呼び出してユーザー入力を送信し、生成されたテキスト結果を取得することにより、記事、要約、翻訳などの高品質なテキストを生成するために使用されます。テキスト生成に使用されるモデルパラメータとプロンプトテンプレートは、Difyプロンプトアレンジメントページでの開発者の設定によって異なります。
このアプリケーションのAPIドキュメントとリクエスト例は、アプリケーション -> APIアクセスで確認できます。
例として、テキスト生成のAPI呼び出しサンプルを以下に示します。
code:sh
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"inputs": {},
"response_mode": "streaming",
"user": "abc-123"
}'
会話型アプリケーション
ほとんどのシナリオに適した会話型アプリケーションは、質問と回答の形式でユーザーと継続的な対話をします。会話を開始するには、chat-messages APIを呼び出し、返されたconversation_idを継続的に渡すことでセッションを維持します。
このアプリケーションのAPIドキュメントとリクエスト例は、アプリケーション -> APIアクセスで確認できます。
例として、chat-messagesのAPI呼び出しサンプルを以下に示します。
code:sh
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"inputs": {},
"query": "eh",
"response_mode": "streaming",
"conversation_id": "1c7e55fb-1ba2-4e10-81b5-30addcea2276"
"user": "abc-123"
}'